package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.core.domain.BaseVo;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 金蝶-税率-税种
 * </p>
 * @author WuZH
 * @since 2024-08-20
 */
@Data
@TableName ("erp_king_base_tax_rate_category_info")
@ApiModel (value = "KingBaseTaxRateCategoryEntity对象", description = "金蝶-税率-税种")
public class KingBaseTaxRateCategoryEntity extends BaseVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ("id")
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty ("编码")
    @TableField ("doc_no")
    private String docNo;

    @ApiModelProperty ("汇率类型")
    @TableField ("rate_type")
    private String rateType;

    @ApiModelProperty ("生效日期")
    @TableField ("effective_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date effectiveDate;

    @ApiModelProperty ("失效日期")
    @TableField ("expiring_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    private Date expiringDate;

    @ApiModelProperty ("名称")
    @TableField ("title")
    private String title;

    @ApiModelProperty ("申报机关")
    @TableField ("report_organ")
    private String reportOrgan;

    @ApiModelProperty ("描述")
    @TableField ("desc_info")
    private String descInfo;

    @ApiModelProperty ("征收机关")
    @TableField ("levy_organ")
    private String levyOrgan;

    @ApiModelProperty ("允许改写税率；1：是；2：否")
    @TableField ("is_allow_rewriting")
    private Integer isAllowRewriting;

    @ApiModelProperty ("允许改写和录入税额，1：是；2：否")
    @TableField ("is_allow_limit")
    private Integer isAllowLimit;

    @ApiModelProperty ("税收制度Id")
    @TableField ("tax_rate_system_id")
    private String taxRateSystemId;

    @ApiModelProperty ("税收制度编码")
    @TableField ("tax_rate_system_code")
    private String taxRateSystemCode;

    @ApiModelProperty ("税额精确度")
    @TableField ("tax_amount_accurate")
    private String taxAmountAccurate;

    @ApiModelProperty ("地理位置")
    @TableField ("area_id")
    private String areaId;

    @ApiModelProperty ("最小会计单位")
    @TableField ("min_accounting_unit")
    private String minAccountingUnit;

    @ApiModelProperty ("纳税币种编码")
    @TableField ("tax_currency")
    private String taxCurrency;

    @ApiModelProperty ("舍入规则；1：四舍五入；2：向上舍入；3：向下舍入")
    @TableField ("rounding_rules")
    private Integer roundingRules;

    @ApiModelProperty ("纳税允差百分比")
    @TableField ("tax_tolerance_percentage")
    private String taxTolerancePercentage;

    @ApiModelProperty ("纳税允差范围额")
    @TableField ("tax_tolerance_range")
    private String taxToleranceRange;

    @ApiModelProperty ("是否禁用，1：正常；2：禁用")
    @TableField ("is_disabled")
    private Integer isDisabled;

    @ApiModelProperty ("禁用时间")
    @TableField ("disabled_time")
    private Date disabledTime;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("修改人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("修改时间")
    @TableField ("update_time")
    private Date updateTime;

    @TableField ("is_send")
    private Integer isSend;

    @ApiModelProperty ("软删除")
    @TableField ("is_used")
    private Integer isUsed;



    @ApiModelProperty ("税收制度名称")
    @TableField (exist = false)
    private String taxRateSystemName;

    @ApiModelProperty ("汇率类型名称")
    @TableField (exist = false)
    private String rateTypeName;

    @ApiModelProperty ("地理位置名称")
    @TableField (exist = false)
    private String areaName;

    @ApiModelProperty ("纳税币种名称")
    @TableField (exist = false)
    private String taxCurrencyName;


}
